home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "short.h" void r406short(T406* C){ char _c=0; int _i=0; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_406),((T0*)ms2_406)); _i=1; while (!((_i)>((((T7*)((T7*)((((T406*)C))->_to_string/*4*/))))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)((((T406*)C))->_to_string/*4*/))))->_storage/*0*/)[(_i)-(1)]/*)*/; /*[IRF3.6a_character*/{char b1=_c; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ _i=(_i)+(1); } r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_406),((T0*)ms4_406)); } /*No:PREFIX_NAME.set_is_frozen*/ void r406make(T406* C,T0* a1,T0* a2){ C->_to_string=r902item(a1); C->_start_position=a2; C->_to_key=r902for_prefix((((T406*)C))->_to_string/*4*/); } /*No:PREFIX_NAME.to_string*/ /*No:PREFIX_NAME.start_position*/ /*No:PREFIX_NAME.to_key*/ /*No:PREFIX_NAME.is_frozen*/ void r406undefine_in(T406* C,T0* a1){ /*IF*/if ((((T406*)C))->_is_frozen/*12*/) { r406error((((T406*)C))->_start_position/*8*/,((T0*)ms1_776)); r605fatal_undefine(((T605*)a1),(T0*)C); } /*FI*/} void r406error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r406origin_base_class(T406* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T406*)C))->_start_position/*8*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=r627base_class(((T627*)_sp)); } /*FI*/return R; } void r675connect_to(T675* C,T0* a1){ C->_input_stream=fopen(r7to_external(((T7*)a1)),"r"); /*IF*/if ((NULL!=(((T675*)C))->_input_stream/*8*/)) { C->_push_back_flag=0; C->_memory=((unsigned char)'\40'); C->_path=a1; } /*FI*/} T0*oBC762last_string=NULL; /*No:STD_FILE_READ.push_back_flag*/ void r675skip_separators(T675* C){ while (!((r675end_of_input(C))||(!(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/))))) { r675read_character(C); } } /*No:STD_FILE_READ.make*/ void r675disconnect(T675* C){ fclose((((T675*)C))->_input_stream/*8*/); C->_path=NULL; } /*No:STD_FILE_READ.path*/ void r675read_character(T675* C){ /*IF*/if ((((T675*)C))->_push_back_flag/*0*/) { C->_push_back_flag=0; } else { C->_memory=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } /*FI*/} /*No:STD_FILE_READ.is_connected*/ void r675read_word(T675* C){ r675skip_separators(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0); /*]*/ while (!((r675end_of_input(C))||(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/)))) { r7extend(((T7*)(oBC762last_string)),/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/); r675read_character(C); } } /*No:STD_FILE_READ.last_character*/ void r675read_line_in(T675* C,T0* a1){ int _mem=0; r675read_character(C); _mem=(((T675*)C))->_memory/*12*/; while (!(((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))) { r7extend(((T7*)a1),((char)(_mem))); _mem=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } C->_memory=_mem; } int r675end_of_input(T675* C){ int R=0; /*IF*/if (!((((T675*)C))->_push_back_flag/*0*/)) { R=((((T675*)C))->_memory/*12*/)==((EOF)); } /*FI*/return R; } void r675read_line(T675* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0); /*]*/ r675read_line_in(C,oBC762last_string); } /*No:STD_FILE_READ.input_stream*/ /*No:STD_FILE_READ.memory*/ T0* r347add_comment(T347* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } void r347make(T347* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_list=a2; C->_compound=a3; } /*No:E_DEBUG.start_position*/ T0* r347to_runnable(T347* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T347*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T347*)C))->_compound/*16*/)),r347current_type(C)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T347*n=malloc(sizeof(*n)); *n=M347; r347make(n,(((T347*)C))->_start_position/*8*/,(((T347*)C))->_list/*12*/,(((T347*)C))->_compound/*16*/); R=(T0*)n; } R=r347to_runnable(((T347*)R),a1); } /*FI*/return R; } /*No:E_DEBUG.list*/ T0* r347current_type(T347* C){ T0* R=NULL; /*IF*/if (((((T347*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T347*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:E_DEBUG.run_compound*/ /*No:E_DEBUG.compound*/ /*No:E_DEBUG.end_mark_comment*/ /*No:CALL_INFIX_LE.arguments*/ void r932short(T932* C){ /*IF*/if ((X662precedence((((T932*)C))->_target/*8*/))==(13)) { X662short((((T932*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T932* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/); }/*]*/ /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/))==(13)) { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/); } else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/); } else { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else if ((X662precedence((((T932*)C))->_target/*8*/))<(6)) { X662bracketed_short((((T932*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T932* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/); } else { X662short((((T932*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T932* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} T0* r932add_comment(T932* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r932to_integer(T932* C){ int R=0; r932error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } void r932bracketed_short(T932* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r932short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r932is_a(T932* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T932*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r932error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_LE.is_current*/ void r932make(T932* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r932operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r932make_call_1(C,a1,(((T932*)C))->_feature_name/*24*/,_eal); } /*No:CALL_INFIX_LE.nb_errors*/ /*No:CALL_INFIX_LE.feature_name*/ /*No:CALL_INFIX_LE.fz_iinaiv*/ /*No:CALL_INFIX_LE.run_feature*/ /*No:CALL_INFIX_LE.start_position*/ /*No:CALL_INFIX_LE.target*/ /*No:CALL_INFIX_LE.precedence*/ T0* r932to_runnable(T932* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T932*)C))->_current_type/*4*/)==((void*)(NULL))) { r932to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T932*)C))->_arguments/*20*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r932error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T932*)C))->_arguments/*20*/)),(((T932*)C))->_run_feature/*12*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T932*)C))->_result_type/*16*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r932twin(C); /*[IRF3.3set_current_type*/((((T932*)(((T932*)R))))->_current_type)=(NULL); /*]*/ R=r932to_runnable(((T932*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_LE.short_print_feature_name*/ /*No:CALL_INFIX_LE.result_type*/ T0* r932twin(T932* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T932*)R)=*C; return R; } /*No:CALL_INFIX_LE.set_current_type*/ /*No:CALL_INFIX_LE.us_le*/ T0* r932operator(void){ T0* R=NULL; R=((T0*)ms35_473); return R; } /*No:CALL_INFIX_LE.atomic_precedence*/ /*No:CALL_INFIX_LE.current_type*/ void r932make_call_1(T932* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_LE.is_manifest_string*/ /*No:CALL_INFIX_LE.is_void*/ void r932to_runnable_0(T932* C,T0* a1){ C->_current_type=a1; r932cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T932*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T932*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T932*)C))->_run_feature/*12*/)); r932error((((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T932*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T932*)C))->_target/*8*/); } /*FI*/} void r932cpc_to_runnable(T932* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T932*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T932*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T932*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T932*)C))->_target/*8*/,(((T932*)C))->_run_feature/*12*/); } void r932error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_LE.fatal_error*/ /*No:CALL_INFIX_LE.fz_bad_argument*/ void r932short_target(T932* C){ r932bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } /*No:CALL_INFIX_LE.arg1*/ /*No:PARSER_BUFFER.make*/ int fBC676buffer=0; T9 oBC676buffer=NULL; T9 r676buffer(void){ if (fBC676buffer==0){ T9 R=NULL; fBC676buffer=1; R=calloc(4096,sizeof(char)); oBC676buffer=R;} return oBC676buffer;} /*No:PARSER_BUFFER.path*/ int r676read_file(T0* a1){ int R=0; T9 _b=NULL; T0* _line=NULL; char _c=0; int _nb_read=0; int _i=0; int _file=0; void* _p=0; _p=r7to_external(((T7*)a1)); _file=open(_p,O_RDONLY,0);/*IF*/if ((_file)>=(0)) { _b=r676buffer(); _line=r676next_line(0); _line=r676next_line(1); R=1; _nb_read=4096; while (!((_nb_read)<(4096))) { _nb_read=read(_file,_b,4096); _i=0; while (!((_i)==(_nb_read))) { _c=(_b)[_i]; /*IF*/if ((_c)==('\n')) { R=(R)+(1); _line=r676next_line(R); } else if ((_c)==('\15')) { } else { r7extend(((T7*)_line),_c); } /*FI*/_i=(_i)+(1); } } /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)_line)))->_count/*4*/)==(0)/*)*/) { R=(R)-(1); } /*FI*/_file=close(_file); } else { R=-(1); } /*FI*/return R; } T0* r676item(int a1){ T0* R=NULL; R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/; return R; } void r676load_file(T676* C,T0* a1){ C->_count=r676read_file(a1); /*IF*/if (((((T676*)C))->_count/*4*/)>=(0)) { C->_path=a1; } else { C->_path=NULL; } /*FI*/} /*No:PARSER_BUFFER.is_ready*/ T0*oBC676text=NULL; /*No:PARSER_BUFFER.medium_line_size*/ /*No:PARSER_BUFFER.buffer_size*/ /*No:PARSER_BUFFER.count*/ /*No:PARSER_BUFFER.unset_is_ready*/ T0* r676next_line(int a1){ T0* R=NULL; /*IF*/if ((a1)<=((((T927*)((T927*)(oBC676text))))->_upper/*8*/)) { R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/; /*[IRF3.3clear*/((((T7*)(((T7*)R))))->_count)=(0); /*]*/ } else { {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,80); R=(T0*)n; } r927add_last(((T927*)(oBC676text)),R); } /*FI*/return R; } T0* r629add_comment(T629* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T59*n=malloc(sizeof(*n)); *n=M59; r59make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r629make(T629* C,T0* a1,T0* a2){ C->_left_side=a1; C->_right_side=a2; } /*No:ASSIGNMENT.nb_errors*/ T0* r629start_position(T629* C){ T0* R=NULL; R=X662start_position((((T629*)C))->_left_side/*8*/); return R; } T0* r629to_runnable(T629* C,T0* a1){ T0* R=NULL; T0* _e=NULL; T0* _right_run_type=NULL; T0* _left_run_type=NULL; /*IF*/if (((((T629*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T629*)C))->_left_side/*8*/,r629current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms62_470)); } else { C->_left_side=_e; } /*FI*/_e=X662to_runnable((((T629*)C))->_right_side/*12*/,r629current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r629error(X662start_position((((T629*)C))->_right_side/*12*/),((T0*)ms63_470)); } else { C->_right_side=_e; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!(X662is_a((((T629*)C))->_right_side/*12*/,(((T629*)C))->_left_side/*8*/))) { r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms2_629)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _left_run_type=X291run_type(r629left_type(C)); _right_run_type=X291run_type(r629right_type(C)); /*IF*/if (X291is_reference(_left_run_type)) { /*IF*/if (X291is_reference(_right_run_type)) { } else { X291used_as_reference(_right_run_type); } /*FI*/} else { /*IF*/if (X291is_reference(_right_run_type)) { /*IF*/if (X662is_void((((T629*)C))->_right_side/*12*/)) { r683add_position(X662start_position((((T629*)C))->_right_side/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms3_629); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(r629left_type(C),((T0*)ms4_629)); r683print_as_error(((T683*)(oBC364eh))); } else { r629warning(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms5_629)); } /*FI*/} /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T629*n=malloc(sizeof(*n)); *n=M629; r629make(n,(((T629*)C))->_left_side/*8*/,(((T629*)C))->_right_side/*12*/); R=(T0*)n; } R=r629to_runnable(((T629*)R),a1); } /*FI*/return R; } T0* r629right_type(T629* C){ T0* R=NULL; R=X662result_type((((T629*)C))->_right_side/*12*/); return R; } /*No:ASSIGNMENT.left_side*/ T0* r629current_type(T629* C){ T0* R=NULL; /*IF*/if (((((T629*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T629*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:ASSIGNMENT.run_compound*/ /*No:ASSIGNMENT.right_side*/ /*No:ASSIGNMENT.fz_blhsoa*/ /*No:ASSIGNMENT.fz_brhsoa*/ void r629error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ASSIGNMENT.end_mark_comment*/ T0* r629left_type(T629* C){ T0* R=NULL; R=X662result_type((((T629*)C))->_left_side/*8*/); return R; } void r629warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r239short(T239* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); r239short_hook(C); r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } T0*oBC646tmp_written_mark=NULL; int r239has_creation(T239* C,T0* a1){ int R=0; R=X291has_creation((((T239*)C))->_run_type/*8*/,a1); return R; } /*No:TYPE_LIKE_ARGUMENT.is_anchored*/ int r239is_array(T239* C){ int R=0; R=X291is_array((((T239*)C))->_run_type/*8*/); return R; } int r239is_a(T239* C,T0* a1){ int R=0; R=X291is_a((((T239*)C))->_run_type/*8*/,a1); return R; } int r239is_pointer(T239* C){ int R=0; R=X291is_pointer((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.run_type*/ int r239is_string(T239* C){ int R=0; R=X291is_string((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.is_like_feature*/ /*No:TYPE_LIKE_ARGUMENT.is_like_current*/ T0* r239ultimate_run_type(T239* C,T0* a1){ T0* R=NULL; T0* _t=NULL; _t=a1; while (!((_t)==((void*)(X291run_type(_t))))) { _t=X291run_type(_t); } /*IF*/if (((((T239*)C))->_run_type/*8*/)==((void*)(NULL))) { C->_run_type=_t; R=(T0*)C; } else { R=r239twin(C); /*[IRF3.3set_run_type*/((((T239*)(((T239*)R))))->_run_type)=(_t); /*]*/ } /*FI*/return R; } void r239make(T239* C,T0* a1,T0* a2){ C->_start_position=a1; C->_like_what=a2; r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470)); r7append(((T7*)(oBC646tmp_written_mark)),(((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_to_string/*8*/); C->_written_mark=r902item(oBC646tmp_written_mark); } void r239anchor_cycle_start(T239* C){ int _i=0; /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) { r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/); } else if (r907fast_has(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/)) { _i=0; while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) { r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/); _i=(_i)+(1); } /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/); } /*FI*/} /*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/ /*No:TYPE_LIKE_ARGUMENT.start_position*/ /*No:TYPE_LIKE_ARGUMENT.like_what*/ int r239is_character(T239* C){ int R=0; R=X291is_character((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.written_mark*/ /*No:TYPE_LIKE_ARGUMENT.is_run_type*/ T0* r239to_runnable(T239* C,T0* a1){ T0* R=NULL; T0* _t=NULL; r239anchor_cycle_start(C); _t=X291to_runnable((((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_result_type/*20*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r239error((((T239*)C))->_start_position/*4*/,((T0*)ms54_470)); } /*FI*/R=r239ultimate_run_type(C,_t); r239anchor_cycle_end(C); return R; } /*No:TYPE_LIKE_ARGUMENT.rank*/ T0* r239generic_list(T239* C){ T0* R=NULL; /*IF*/if (r239is_generic(C)) { R=X291generic_list((((T239*)C))->_run_type/*8*/); } else { r239fatal_error_generic_list(C); } /*FI*/return R; } /*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/ int r239is_real(T239* C){ int R=0; R=X291is_real((((T239*)C))->_run_type/*8*/); return R; } T0* r239twin(T239* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T239*)R)=*C; return R; } int r239is_bit(T239* C){ int R=0; R=X291is_bit((((T239*)C))->_run_type/*8*/); return R; } void r239fatal_error_generic_list(T239* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } T0* r239smallest_ancestor(T239* C,T0* a1){ T0* R=NULL; R=X291smallest_ancestor((((T239*)C))->_run_type/*8*/,a1); return R; } /*No:TYPE_LIKE_ARGUMENT.set_run_type*/ int r239is_boolean(T239* C){ int R=0; R=X291is_boolean((((T239*)C))->_run_type/*8*/); return R; } int r239is_double(T239* C){ int R=0; R=X291is_double((((T239*)C))->_run_type/*8*/); return R; } T0* r239run_class(T239* C){ T0* R=NULL; R=r604run_class((((T239*)C))->_run_type/*8*/); return R; } T0* r239run_time_mark(T239* C){ T0* R=NULL; /*IF*/if (((((T239*)C))->_run_type/*8*/)!=((void*)(NULL))) { R=X291run_time_mark((((T239*)C))->_run_type/*8*/); } /*FI*/return R; } /*No:TYPE_LIKE_ARGUMENT.fz_cad*/ int r239is_a_in(T239* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T239*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r239to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r239look_up_for(T239* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r239base_class(C))),a1,a2); return R; } T0* r239expanded_initializer(T239* C){ T0* R=NULL; R=X291expanded_initializer((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.fz_dot*/ int r239is_generic(T239* C){ int R=0; R=X291is_generic((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.used_as_reference*/ int r239is_reference(T239* C){ int R=0; R=X291is_reference((((T239*)C))->_run_type/*8*/); return R; } void r239error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r239base_class(T239* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r239base_class_name(C); /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_LIKE_ARGUMENT.fatal_error*/ void r239short_hook(T239* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_239),((T0*)ms2_239)); r886short(((T886*)((((T239*)C))->_like_what/*12*/))); } int r239is_any(T239* C){ int R=0; R=X291is_any((((T239*)C))->_run_type/*8*/); return R; } T0*oBC646visited=NULL; T0* r239base_class_name(T239* C){ T0* R=NULL; R=X291base_class_name((((T239*)C))->_run_type/*8*/); return R; } int r239is_expanded(T239* C){ int R=0; R=X291is_expanded((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.fz_like_foo*/ int r239is_basic_eiffel_expanded(T239* C){ int R=0; R=X291is_basic_eiffel_expanded((((T239*)C))->_run_type/*8*/); return R; } int r239is_none(T239* C){ int R=0; R=X291is_none((((T239*)C))->_run_type/*8*/); return R; } int r239is_integer(T239* C){ int R=0; R=X291is_integer((((T239*)C))->_run_type/*8*/); return R; } void r239anchor_cycle_end(T239* C){ /*IF*/if (((((T239*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) { /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1)); /*]*/ } /*FI*/} /*No:INTEGER_CONSTANT.short*/ T0* r342add_comment(T342* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:INTEGER_CONSTANT.to_integer*/ void r342bracketed_short(T342* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); /*[IRF3.6short*/{T342* C1=C; r580a_base_type_constant(((T580*)(oBC364short_print)),/*(IRF4.6to_string*/r2to_string(((int)((((T342*)C1))->_value/*12*/)))/*)*/); }/*]*/ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r342is_a(T342* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T788*)r342result_type()))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T342*)C))->_start_position/*8*/); r342error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:INTEGER_CONSTANT.is_current*/ void r342make(T342* C,int a1,T0* a2){ C->_value=a1; C->_start_position=a2; } /*No:INTEGER_CONSTANT.to_string*/ /*No:INTEGER_CONSTANT.fz_iinaiv*/ void r342unary_minus(T342* C){ C->_value=-((((T342*)C))->_value/*12*/); } /*No:INTEGER_CONSTANT.start_position*/ /*No:INTEGER_CONSTANT.precedence*/ T0* r342to_runnable(T342* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T342*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else { R=r342twin(C); /*[IRF3.3set_current_type*/((((T342*)(((T342*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } int fBC342result_type=0; T0*oBC342result_type=NULL; T0* r342result_type(void){ if (fBC342result_type==0){ T0* R=NULL; fBC342result_type=1; {T788*n=malloc(sizeof(*n)); *n=M788; r788make(n,NULL); R=(T0*)n; } oBC342result_type=R;} return oBC342result_type;} T0* r342twin(T342* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T342*)R)=*C; return R; } /*No:INTEGER_CONSTANT.set_current_type*/ /*No:INTEGER_CONSTANT.atomic_precedence*/ /*No:INTEGER_CONSTANT.value*/ /*No:INTEGER_CONSTANT.current_type*/ /*No:INTEGER_CONSTANT.is_manifest_string*/ /*No:INTEGER_CONSTANT.is_void*/ T0* r342to_real_constant(T342* C){ T0* R=NULL; {T936*n=malloc(sizeof(*n)); *n=M936; r936make(n,(((T342*)C))->_start_position/*8*/,r2to_string((((T342*)C))->_value/*12*/)); R=(T0*)n; } return R; } void r342error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r342short_target(T342* C){ r342bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } T0* r377to_runnable_integer(T377* C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _i=0; /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) { C->_e_inspect=a1; _i=1; while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e_when=r843to_runnable_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C); /*IF*/if ((_e_when)==((void*)(NULL))) { r377error(r377start_position(C),((T0*)ms1_377)); } else { /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } R=(T0*)C; } else { {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(T0*)C); R=(T0*)n; } R=r377to_runnable_integer(((T377*)R),a1); } /*FI*/return R; } /*No:WHEN_LIST.make*/ /*No:WHEN_LIST.nb_errors*/ T0* r377start_position(T377* C){ T0* R=NULL; R=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),1)))))->_start_position/*0*/; return R; } /*No:WHEN_LIST.em1*/ /*No:WHEN_LIST.list*/ /*No:WHEN_LIST.current_type*/ void r377from_when_list(T377* C,T0* a1){ T0* _e_when=NULL; int _i=0; C->_list=r147twin(((T147*)((((T377*)((T377*)a1)))->_list/*4*/))); _i=1; while (!((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)); _e_when=(T0*)n; } /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ _i=(_i)+(1); } } void r377error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:WHEN_LIST.add_last*/ int r377includes_integer(T377* C,int a1){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)))) { R=r843includes_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),a1); _i=(_i)+(1); } return R; } T0* r377to_runnable_character(T377* C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _i=0; /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) { C->_e_inspect=a1; _i=1; while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e_when=r843to_runnable_character(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C); /*IF*/if ((_e_when)==((void*)(NULL))) { r377error(r377start_position(C),((T0*)ms1_377)); } else { /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } R=(T0*)C; } else { {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(T0*)C); R=(T0*)n; } R=r377to_runnable_character(((T377*)R),a1); } /*FI*/return R; } /*No:WHEN_LIST.e_inspect*/ /*No:ERROR_HANDLER.nb_warnings*/ T0*oBC683explanation=NULL; void r683incr_nb_warnings(T683* C){ C->_nb_warnings=((((T683*)C))->_nb_warnings/*4*/)+(1); } /*No:ERROR_HANDLER.extend*/ void r683incr_nb_errors(T683* C){ C->_nb_errors=((((T683*)C))->_nb_errors/*0*/)+(1); /*IF*/if (((((T683*)C))->_nb_errors/*0*/)>=(6)) { r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470)); r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_683)); exit(1); } /*FI*/} /*No:ERROR_HANDLER.exit_failure_code*/ /*No:ERROR_HANDLER.make*/ /*No:ERROR_HANDLER.nb_errors*/ void r683print_as_fatal_error(T683* C){ r683do_print(((T0*)ms4_683)); exit(1); } /*No:ERROR_HANDLER.no_warning*/ void r683add_position(T0* a1){ /*IF*/if ((a1)!=((void*)(NULL))) { /*IF*/if (!(r51has(((T51*)(oBC683positions)),a1))) { r51add_last(((T51*)(oBC683positions)),a1); } /*FI*/} /*FI*/} /*No:ERROR_HANDLER.set_no_warning*/ void r683print_as_warning(T683* C){ /*IF*/if ((((T683*)C))->_no_warning/*8*/) { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r51clear(((T51*)(oBC683positions))); /*]*/ } else { r683do_print(((T0*)ms2_683)); r683incr_nb_warnings(C); } /*FI*/} void r683add_type(T0* a1,T0* a2){ /*[IRF3.6append*/{T0* b1=((T0*)ms1_683); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*IF*/if (X291is_run_type(a1)) { /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } else { /*[IRF3.6append*/{T0* b1=X291written_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*//*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_position(X291start_position(a1)); } void r683print_as_error(T683* C){ r683do_print(((T0*)ms3_683)); r683incr_nb_errors(C); } void r683error(T683* C,T0* a1){ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_error(C); } /*No:ERROR_HANDLER.fz_error_stars*/ void r683fatal_error(T683* C,T0* a1){ r7append(((T7*)(oBC683explanation)),a1); r683print_as_fatal_error(C); } /*No:ERROR_HANDLER.cancel*/ T0*oBC683positions=NULL; /*No:ERROR_HANDLER.append*/ void r683warning(T683* C,T0* a1){ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(C); } void r683do_print(T0* a1){ char _previous_cc=0; char _cc=0; int _cpt=0; int _i=0; r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470)); r441put_string(((T441*)(oBC1std_error)),a1); r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_683)); _i=1; _cpt=(9)+((((T7*)((T7*)a1)))->_count/*4*/); while (!((_i)>((((T7*)((T7*)(oBC683explanation))))->_count/*4*/))) { _previous_cc=_cc; _cc=/*(IRF4.6item*/((((T7*)((T7*)(oBC683explanation))))->_storage/*0*/)[(_i)-(1)]/*)*/; _i=(_i)+(1); /*IF*/if ((_cpt)>(60)) { /*IF*/if ((_cc)==('\40')) { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=0; } else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=1; } else { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=(_cpt)+(1); } /*FI*/} else { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ {int z1=_cc; if((10==z1)){ _cpt=0; } else{_cpt=(_cpt)+(1); }} } /*FI*/} /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ _i=(((T51*)((T51*)(oBC683positions))))->_lower/*12*/; while (!((_i)>((((T51*)((T51*)(oBC683positions))))->_upper/*8*/))) { r627show(((T627*)(r51item(((T51*)(oBC683positions)),_i)))); _i=(_i)+(1); } /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r51clear(((T51*)(oBC683positions))); /*]*/ r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_683)); }